import Vue from 'vue'
import Vuex from 'vuex'
import state from './state'
import mutations from './mutations'
// 这个store文件夹是专门写vuex的地方
// vuex分三个部分 state actions mutations
// 正常顺序是component --dispatch-> actions --commit-> mutations ---> state
// 但是可以跳过第一步 component --commit-> mutations ---> state
Vue.use(Vuex)

export default new Vuex.Store({
  // 三个模块 actions ---> mutations ---> state
  state,
  actions: {
    changeCityActions (ctx, city) {
      // 会接受两个参数第一个参数是上下文
      console.log(city)
      ctx.commit('changeCityMutations', city)
    }
  },
  mutations,
  getters: {
    doubleCity (state) {
      return state.city + ' ' + state.city
    }
  }
})
